home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Delphi Programmer's Power Pack
/
Delphi Volume 1.iso
/
s_to_z
/
statone
/
unit1.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1996-09-15
|
4KB
|
139 lines
unit Unit1;
interface
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, ExtCtrls, Stat, unit2, dynary;
type
TForm1 = class(TForm)
statone1: StatOne;
listbox2: TListBox;
memo1: TMemo;
listbox1: TListBox;
OpenDialog1: TOpenDialog;
Label10: TLabel;
Button3: TButton;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Label1: TLabel;
Button4: TButton;
Button5: TButton;
Label2: TLabel;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
procedure StandardStats;
procedure Button2Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
ArraySize: integer;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
StandardStats;
end;
procedure TForm1.StandardStats;
const
MISSING = 5e-324;
var
i, j, Point, SetNum: integer;
RoundMean, RoundMax: LongInt;
ArrayOK: boolean;
OrgMean: double;
begin
listbox1.Clear;
ArraySize := memo1.Lines.Count;
ArrayOK := statone1.SetSize(ArraySize);
{if ArrayOk then
showmessage('Initial array size ' + inttostr(arraysize))
else
showmessage('not ok');}
for i := 1 to ArraySize do
statone1[i] := StrToFloat(memo1.Lines[i-1]);
statone1.CalcStat;
for i := 1 to ArraySize do begin
listbox1.Items.Add(floattostr(statone1[i]));
end;
listbox2.Clear;
listbox2.Items.Add('Mean:' + ' ' + FloatToStr(statone1.StatResults.Mean));
listbox2.Items.Add('Median:' + ' ' + FloatToStr(statone1.StatResults.Median));
listbox2.Items.Add('GeoMean:' + ' ' + FloatToStr(statone1.StatResults.GeoMean));
listbox2.Items.Add('HarMean' + ' ' + FloatToStr(statone1.StatResults.HarMean));
listbox2.Items.Add('IQR:' + ' ' + FloatToStr(statone1.StatResults.IQR));
listbox2.Items.Add('N:' + ' ' + FloatToStr(statone1.StatResults.N));
listbox2.Items.Add('Sum:' + ' ' + FloatToStr(statone1.StatResults.Sum));
listbox2.Items.Add('Variance:' + ' ' + FloatToStr(statone1.StatResults.Variance));
listbox2.Items.Add('StdDev:' + ' ' + FloatToStr(statone1.StatResults.StdDev));
listbox2.Items.Add('StdErr:' + ' ' + FloatToStr(statone1.StatResults.StdErr));
listbox2.Items.Add('Skewness:' + ' ' + FloatToStr(statone1.StatResults.Skewness));
listbox2.Items.Add('Kurtosis:' + ' ' + FloatToStr(statone1.StatResults.Kurtosis));
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
StandardStats;
statone1.Bisquare(StrToInt(Edit1.Text));
listbox2.Items.Insert(1,'Bisquare:' + ' ' + FloatToStr(statone1.StatResults.Bisquare));
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if ord(key) <> 8 then
begin
if length(Edit1.Text) = 1 then
begin
key := #0;
end;
if (ord(key) < 51) or (ord(key) > 57) then
begin
key := #0;
end;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
OpenDialog1.Filter := 'All files [*.*]|*.TXT';
OpenDialog1.FilterIndex := 0;
if OpenDialog1.Execute then
begin
memo1.Lines.LoadFromfile(OpenDialog1.FileName);
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Form2.ShowModal;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Close;
end;
end.